<?php

	// verificar se o IP que está tentando acessar a página não está em nossa blocklist
	$ipsbloqueados = array("10.0.0.1");
	foreach($ipsbloqueados as $ip){
		if($ip == $_SERVER['REMOTE_ADDR']){
			// redireciona o usuário para a página de acesso negado
			header("Location: /cursophp/app/negado.php");
			exit();
		}
	}
	// área de includes obrigatórios
	require_once("libs/funcoes.php");
	require_once("application.php");
	
	// previne o cache nas página
	header("Expires: Mon, 21 Out 1999 00:00:00 GMT");
	header("Cacho-control: no-cache");
	header("Pragma: no-cache");
	
	// variável m = módulo que será acessado
	$modulo = (isset($_GET['m'])) ? tStr($_GET['m']) : 'inicial';
	
	// Controlar o front-end
	// página inicial, abrir um post ou página de contato
	
	switch($modulo){
            
                case "setor" :
			
			$app = new App();
			$site = $app->loadModel("Site");
			
			// vamos carregar os posts da página inicial
			$obj = $site->listaColaborador($app->conexao,  (int)$_GET['id'] );
			$colaboradores = $obj->fetchAll(PDO::FETCH_ASSOC);
			
			$obj = $site->listaSetor($app->conexao, 0);
			$setores = $obj->fetchAll(PDO::FETCH_ASSOC);
					
			renderizaPaginaInicial($app, $colaboradores, $setores);
			
			break;
            
                case "doLogin":
			$app = new App();
			$admin = $app->loadModel("Admin");
			$usuario = tStr($_POST["usuario"]);
			$senha = md5(tStr($_POST["senha"]));
			
                        
                        $obj = $admin->getUsuarioLoginSenha($app->conexao, $usuario, $senha);
			
                                               
			if($obj){
				// efetuou login
				session_start();
				$_SESSION["idusuario"] = $obj->idusuario;
				$_SESSION["usuario"] = $obj->usuariologin;
				$_SESSION["usuarionome"] = $obj->usuarionome;
				renderizaPaginaInicial($app);
			} else {
				// login falhou
				echo "<script>alert('Login ou senha incorreto(s)');</script>";
				renderizaLogin($app);
			}
			
			break;
		
		default :
			$app = new App();
			// verifica se está logado
			session_start();
			
			if(isset($_SESSION["usuario"])){
			
				$comp = (isset($_GET['c'])) ? tStr($_GET['c']) : null;
				$action = (isset($_GET['a'])) ? tStr($_GET['a']) : null;
				
				switch ($comp) {
					case "usuarios" :
						// caso o componente solicitado seja o componente de controle de usuários
						include("app/controller/usuario.class.php");
						
						$usuario = new Usuario();
						if($action!=null){
							$usuario->$action($app);
						} else {
							$usuario->listarUsuarios($app);
						}
						
						break;
					default :
						renderizaAdminInicial($app);
						break;
				}
				
				
			} else {
				renderizaLogin($app);
			}
	}
	
	
        function renderizaLogin($app){
		$param = array("titulo"=>$app->site_titulo);
		$app->loadView("Login",$param);
	}
        
        
       function renderizaAdminInicial($app){
		$site = $app->loadModel("Site");
			
		// vamos carregar os posts
		// vamos carregar os posts da página inicial
			$obj = $site->listaColaborador($app->conexao,  (int)$_GET['id'] );
			$colaboradores = $obj->fetchAll(PDO::FETCH_ASSOC);
	
		$param = array("titulo"=>$app->site_titulo, 
					   "pagina" => "inicialadmin",
					   "dados" => array(
						"posts" => $posts
					   )
					   );
						 
		$app->loadView("Admin",$param);
	}
        function renderizaPaginaInicial($app){
		$param = array("titulo"=>$app->site_titulo, 
					   "pagina" => "inicial"
					   
					   );
						 
		$app->loadView("Site",$param);
	}
	
	
	